package net.yihang.aspect;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Cacheable {
    /**
     * 用来计算最后缓存中的key值，如果 argumentNames 为空，则key前缀即为最后的key
     * @return key前缀
     */
    String keyPrefix();

    /**
     *
     * @return 哪些名字的参数要参与key的计算
     */
    String[] argumentNames() default {};
}
